export type LoginParams = { code: string }

export type RegisterParams = { code: string }

export type WxUserProfileParams = {
  encryptedData: string
  iv: string
  signature: string
}

export type TraditionalLoginParams = {
  username: string
  password: string
}

export type GetUserSimpleInfoParams = {
  userId: string
  extend?: boolean
}

export interface UserLoginParam {
  /**
   * 密码
   */
  password: string
  /**
   * 用户名
   */
  username: string
}

export interface WxLoginParam {
  code: string
}

export interface UserProfileParam {
  /**
   * 详细地址
   */
  addressDetails?: string
  /**
   * 行政区代码
   */
  areaCode?: string
  /**
   * 头像
   */
  avgPath?: string
  /**
   * 生日 yyyy-MM-dd
   */
  birthday?: Date
  /**
   * 封面图片
   */
  coverUrl?: string
  /**
   * 性别:1 男 0 女
   */
  gender?: number
  /**
   * 真实姓名
   */
  realName?: string
  /**
   * 学校id
   */
  schoolId?: number
  /**
   * 个人简介
   */
  signature?: string
  /**
   * 用户id
   */
  userId?: number | undefined | null
  /**
   * 用户名
   */
  username?: string
  /**
   * 旧密码
   */
  oldPassword?: string
  /**
   * 新密码
   */
  newPassword?: string
}

export interface WxPhoneBindParam {
  encryptedData: string
  iv: string
}

export interface RefreshTokenParam {
  refreshToken?: string
}

export interface GetUserRecommend {
  schoolId: number
}

export interface GetUserSimpleInfoParam {
  userId: number
  extend?: boolean
}